﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;

namespace yuleWeb
{
    // 注意: 有关启用 IIS6 或 IIS7 经典模式的说明，
    // 请访问 http://go.microsoft.com/?LinkId=9394801

    public class MvcApplication : System.Web.HttpApplication
    {
        public static void RegisterGlobalFilters(GlobalFilterCollection filters)
        {
            filters.Add(new HandleErrorAttribute());
        }

        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                "Default", // 路由名称
                "{controller}/{action}", // 带有参数的 URL
                new { controller = "Home", action = "Index" }, // 参数默认值
                new string[] { "yule.Web.Web.Controllers" }
            );

        }

        protected void Application_Start()
        {

            #region Mvc3相关注册

            //注册所有区域
            AreaRegistration.RegisterAllAreas();

            //注册全局过滤器
            RegisterGlobalFilters(GlobalFilters.Filters);

            //注册全局路由
            RegisterRoutes(RouteTable.Routes);

            #endregion

            #region 系统相关注册

            //应用程序开始启动

            yule.Common.LogManager.Write(
                string.Format("{0}:应用程序启动开始。",
                System.DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss")),
                yule.Common.Log.Level.Message);

            yule.Util.RunTime runtime = new yule.Util.RunTime();

            //启动加载等等

            double costTime = runtime.GetTotal();

            yule.Common.LogManager.Write(
                string.Format("{0}:应用程序启动结束,共消耗:{1}毫秒。",
                System.DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"), costTime),
                yule.Common.Log.Level.Message);

            //应用程序启动结束

            #endregion

        }
    }
}